// Copyright 2022 a.o.smith ALL Rights Reserved
package com.liuxinlong.modules.common.service;

import java.util.List;
import java.util.Map;

import com.liuxinlong.common.TreeNode;

/**
 * 首页查询服务接口层
 *
 * @author liuxinlong@hotwater.com.cn
 * @version 1.0.0
 * @since 2022年1月26日
 */
public interface DashboardService {
    /**
     * 综合检索
     *
     * @param queryParam 查询参数
     * @return 综合检索结果
     */
    Map<String, Object> queryComprehensive(Map<String, Object> queryParam);

    /**
     * 综合检索条数
     *
     * @param queryParam 查询参数
     * @return 综合检索结果条数
     */
    int countComprehensive(Map<String, Object> queryParam);

    /**
     * 查询知识树（全部层级）
     *
     * @return 知识树
     */
    TreeNode queryKnowledgeTree();

    /**
     * 查询知识图谱
     *
     * @param rootId 根节点id
     * @param deep   层级深度
     * @return 知识图谱
     */
    TreeNode queryKnowledgeGraph(String rootId, int deep);

    /**
     * 查询节点的详细信息
     *
     * @param id 节点id
     * @return 节点详细信息
     */
    Map<String, Object> queryRootDetail(String id);

    /**
     * 查询轮播、热搜、推荐信息
     *
     * @return 信息
     */
    Map<String, Object> queryNewsRotation();

    /**
     * 查询标准动态
     *
     * @param queryParam 查询信息
     * @return 标准动态
     */
    List<Map<String, Object>> queryStandardNews(Map<String, Object> queryParam);

    /**
     * 查询标准动态数量
     *
     * @param queryParam 查询信息
     * @return 标准动态数量
     */
    int countStandardNews(Map<String, Object> queryParam);
}
